
// move(元素, 对象, 函数)
// 功能：给指定元素，添加指定属性的运动效果
    // 注意只能控制数值类且单位为px的css属性
// 元素表示要运动的元素
// 对象的键表示要运动的属性
// 对象的值表示要运动属性对应的目标
// 函数表示运动结束后要执行的功能

function move(ele, obj, cb=()=>{}){
    clearInterval(ele.t);
    ele.t = setInterval(()=>{
        let onoff = true;
        for(let i in obj){
            const now = parseInt(getStyle(ele, i));

            let speed = (obj[i] - now) / 10;
            speed = speed < 0 ? Math.floor(speed) : Math.ceil(speed);

            ele.style[i] = now + speed + "px";
            if(now !== obj[i]){
                onoff = false;
            }
        }
        if(onoff){
            clearInterval(ele.t);
            cb();
        }
    }, 30);
}

function getStyle(ele, attr){
    return getComputedStyle ? getComputedStyle(ele)[attr] : ele.currentStyle[attr];
}